Senior Embedded Software Engineer

Engineering Bangalore, India


Description

Enphase Energy is a global energy technology company and a leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, our innovative microinverter technology revolutionized solar power, making it a safer, more reliable, and scalable energy source. Today, the Enphase Energy System enables users to make, use, save, and sell their own power. Enphase is also one of the most successful and innovative clean energy companies in the world, with more than 80 million products shipped across 160 countries. 
Join our dynamic teams designing and developing next-gen energy technologies and help drive a sustainable future!

This role at Enphase requires working onsite 3 days a week, with plans to transition back to a full 5 day in office schedule over time.
 
About the Role
Enphase is seeking a Senior Embedded Software Engineer specializing in Linux Embedded Control to join our Application Development team. In this role, you will be responsible for developing high-performance C/C++ applications that drive our core energy products, including smart gateways, inverters, and home energy management systems.
You will focus on the control logic and application layer, transitioning complex energy management concepts into robust, production-ready software. Working within our Software Engineering group, you will collaborate with global teams in California, Texas, India, and New Zealand to build autonomous grid connection and regulation features.
 
What You Will Be Doing
  • Architect & Develop: Design and implement sophisticated C/C++ applications for embedded Linux systems that control power distribution and system stability.
  • System Integration: Develop application-level logic that interfaces with hardware drivers, network protocols, and cloud services.
  • End-to-End Ownership: Take full responsibility for design tasks from initial concept and prototyping to final implementation and field deployment.
  • Quality & Testing: Write clean, maintainable code and develop compilation-time unit tests to ensure high reliability in mission-critical energy systems.
  • Collaborate: Work closely with cross-functional teams (Hardware, Systems, and Cloud) to troubleshoot complex system-level issues.
  • Documentation: Create detailed engineering requirements, architectural specifications, and design documentation.
Who You Are and What You Bring
  • Education: BE/BTech/MS/MTech in Computer Science, Computer Engineering, or Electrical Engineering.
  • Experience: Minimum 5 years of professional experience in Embedded C/C++ development.
  • Linux Expertise: Strong proficiency in developing applications within an Embedded Linux environment, including familiarity with multi-threading, IPC, and POSIX APIs.
  • Control Logic: Experience building application-level control systems or logic for embedded devices.
  • Toolchain Proficiency: Hands-on experience with GCC, GDB, GNU Make, and CMake; version control using Git; and task management via Jira/Confluence.
  • Scripting: Proficiency in Python or Shell scripting for automation and testing.
  • Problem Solving: Deep understanding of data structures, algorithms, and software design patterns.
  • Communication: Exposure to integration of protocols such as Zigbee, Bluetooth, WiFi, or Ethernet is a plus.
  • Domain Interest: A basic understanding of (or a strong desire to learn) Solar, Energy Storage, and Power Electronics technologies